// store/index.js
import { createStore } from 'vuex';

export default createStore({
  state() {
    return {
      // 仅存储主题映射表（无需存储当前主题，通过角色动态计算）
      roleThemes: {
        teacher: {
          primary: '#0060E6'
        },
        parent: {
          primary: '#FFB74D'
        },
        principal: {
          primary: '#0060E6'
        }
      },
      // 默认主题（当缓存中无角色或角色不匹配时使用）
      defaultTheme: {
        primary: '#FFB74D'
      }
    };
  },
  getters: {
    // 每次获取主题时，自动从缓存读取角色并返回对应主题
    currentTheme: (state) => {
      // 从缓存读取角色（缓存键名建议用 'currentRole' 更语义化）
      const role = uni.getStorageSync('role');
      console.log('currentTheme', role, state.roleThemes[role]);
      // 优先返回角色对应的主题，无匹配则返回默认主题
      return state.roleThemes[role] || state.defaultTheme;
    }
  }
});
